package com.hntxk.cqzd.diacrisis.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hntxk.core.constant.CoreConstants;
import com.hntxk.core.framework.entity.BaseEntity;
import com.hntxk.core.lang.annotation.Id;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 诊断信息
 */

@Setter
@Getter
public class TblDiacrisisInfo extends BaseEntity  {

  /**
   * 诊断信息id
   */
  @Id
  private Long diacrisisId;

  /**
   * 门诊号
   */
  private String outpatientNo;

  /**
   * 诊断登记时间
   */
  @DateTimeFormat(pattern = CoreConstants.DATE_FORMAT)
  @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
  private Date recordTime;

  /**
   * 患者信息id
   */
  private Long patientId;

  /**
   * hisid
   */
  private Long hisId;

  /**
   * 患者代号
   */
  private String patientCode;

  /**
   * 患者姓名
   */
  private String patientName;

  /**
   * 身份证号
   */
  private String patientCardId;
  /**
   * 患者性别
   */
  private Character patientSex;

  /**
   * 患者生日
   */
  private Date patientBirthday;

  /**
   * 患者民族id
   */
  private Long patientRaceId;

  /**
   * 患者民族
   */
  private String patientRace;

  /**
   * 宗教信仰id
   */
  private Long patientReligionId;

  /**
   * 宗教信仰
   */
  private String patientReligion;

  /**
   * 患者年龄
   */
  private Integer patientAge;

  /**
   * 患者职业id
   */
  private Long patientOccupationId;

  /**
   * 患者职业
   */
  private String patientOccupation;

  /**
   * 患者学历id
   */
  private Long patientEduId;

  /**
   * 患者学历
   *
   */
  private String patientEdu;

  /**
   * 配偶年龄
   */
  private Integer spouseAge;

  /**
   * 配偶职业id
   */
  private Long spouseOccupationId;

  /**
   * 配偶职业
   */
  private String spouseOccupation;

  /**
   * 配偶学历id
   */
  private Long spouseEduId;

  /**
   * 配偶学历
   */
  private String spouseEdu;

  /**
   * 末次月经
   */
  @DateTimeFormat( pattern = CoreConstants.DATE_FORMAT )
  @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
  private Date lastMenses;

  /**
   * 预产期
   */
  private Date expectedDate;

  /**
   * 怀孕次数
   */
  private Integer gestCount;

  /**
   *生产次数
   */
  private Integer prodCount;

  /**
   *流产次数
   */
  private Integer aboCount;

  /**
   *存活次数
   */
  private Integer liveCount;

  /**
   *孕龄周
   */
  private Integer gestWeeks;

  /**
   *孕龄天
   */
  private Integer gestDays;

  /**
   *受孕方式id
   */
  private Long impgTypeId;

  /**
   *受孕方式
   */
  private String impgTypeName;

  /**
   *家族史
   */
  private String familyMedical;

  /**
   *特殊病史id
   */
  private String specialMedicalId;

  /**
   *特殊病史
   */
  private String specialMedical;

  /**
   *不良孕产史id
   */
  private String badGestId;

  /**
   *不良孕产史
   */
  private String badGest;

  /**
   *孕期用药史ID来自于数据字典:
   * CQ_BASE_DRUG_USE
   * 0:无
   * 1:甲亢
   * 2:高血压
   * 3:精神类
   * 4:过敏类
   * 5:其它
   */
  private String drugUseId;

  /**
   *孕期用药史
   */
  private String drugUse;

  /**
   *用药史备注
   */
  private String drugUseRemark;

  /**
   *胎类型ID来自于数据字典:
   * CQ_BASE_FETUSES_TYPE
   * 1:单胎
   * 2:多胎
   */
  private Long fetusesTypeId;

  /**
   *胎类型
   */
  private String fetusesType;

  /**
   *胎数
   */
  private Integer fetusesNo;

  /**
   *是否有效
   * 0：无效
   * 1：有效
   */
  private Character isValid;

  /**
   *是否转诊
   * 0：未转诊
   * 1：转诊
   */
  private Character isTransfer;

  /**
   *预约内容ID
   */
  private Long bespeakId;

  /**
   *预约内容
   */
  private String bespeakContent;

  /**
   *转诊省份ID
   */
  private Long transferProvinceId;

  /**
   *转诊省份
   */
  private String transferProvince;

  /**
   *转诊市别ID
   */
  private Long transferCityId;

  /**
   *转诊市别
   */
  private String transferCity;

  /**
   *转诊区县ID
   */
  private Long transferCountyId;

  /**
   *转诊区县
   */
  private String transferCounty;

  /**
   *患者住址
   */
  private String patientAddress;

  /**
   *患者电话
   */
  private String patientTel;

  /**
   *配偶电话
   */
  private String spouseTel;

  /**
   *诊断备注
   */
  private String diacrisisRemark;

  /**
   *
   */
  private Long createUserId;

  /**
   *
   */
  private String createUserName;

  /**
   *
   */
  private Date createTime;

  /**
   *
   */
  private Long updateUserId;

  /**
   *
   */
  private String updateUserName;

  /**
   *
   */
  private Date updateTime;

  /**
   *姓名拼音
   */
  private String patientPy;

  /**
   *
   */
  private String patientRemark;

  /**
   * 登记编号
   */
  private String recordId;

  //诊断信息判断转台 0.未填写  1.部分填写 2.填写完成
  private Integer diacrisisStatus;

  //卡号
  private String cardNo;

  //诊断结果表状态
  //穿刺日期
  @DateTimeFormat(pattern = CoreConstants.DATE_FORMAT)
  @JsonFormat(pattern=CoreConstants.DATE_FORMAT)
  private Date inspectionTime;
  //颜色状态
  private Integer diagnosisStatus;

  //会诊表状态
  private Integer dibStatus;

  //现孕周
  private Integer weeks;

  //随访表状态
  private Integer flupStatus;

  //条件查询
  private  String inputVal;

  //配偶姓名
  private String spouseName;

  //配偶身份证
  private String spouseCardId;

  //结果类型名称
  private String fruitTypeName;

  //结果详情
  private String fruitExplain;

  //诊断信息表ID
  private Integer diagnosisId;

  /**
   * 孕妇身高
   */
  private Double patientHeight;

  /**
   * 孕妇体重
   */
  private Double patientWeight;

  /**
   * 孕妇BMI
   */
  private Double patientBmi;

}
